package server.models.terrain;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Observable;

import server.models.PosteDeTir;
import server.models.cabane.Cabane;

public class Terrain extends Observable implements ITerrain, Serializable {

	private Cabane cabaneGauche;
	private Cabane cabaneDroite;
	private ArrayList<PosteDeTir> listePostesDeTir;
	
	public Terrain() {
		this.listePostesDeTir = new ArrayList<PosteDeTir>();
		this.cabaneGauche = new Cabane();
		this.cabaneDroite = new Cabane();
	}
	
	public ArrayList<PosteDeTir> getListePostesDeTir() {
		return listePostesDeTir;
	}

	public void setListePostesDeTir(ArrayList<PosteDeTir> listePostesDeTir) {
		this.listePostesDeTir = listePostesDeTir;
	}

	public Cabane getCabaneGauche() {
		return cabaneGauche;
	}

	public void setCabaneGauche(Cabane cabaneGauche) {
		this.cabaneGauche = cabaneGauche;
	}

	public Cabane getCabaneDroite() {
		return cabaneDroite;
	}

	public void setCabaneDroite(Cabane cabaneDroite) {
		this.cabaneDroite = cabaneDroite;
	}
	
	/**
	 * Ajouter un poste de tir
	 * @param posteDeTir	Le poste de tir ajouté
	 */
	public void ajouterPosteDeTir(PosteDeTir posteDeTir) {
		if (this.listePostesDeTir.size() < 8) {
			this.listePostesDeTir.add(posteDeTir);
		}
	}
}
